Java中的存储过程和触发器 您所在的位置:网站首页 ora01732 此视图的数据操纵操作非法 Java中的存储过程和触发器

Java中的存储过程和触发器

2023-06-01 09:56| 来源: 网络整理| 查看: 265

存储过程与函数

什么是存储过程?有哪些优缺点?

存储过程是一个预编译的SQL语句,优点是允许模块化的设计,就是说只需要创建一次,以后在该程序

中就可以调用多次。如果某次操作需要执行多次SQL,使用存储过程比单纯SQL语句执行要快。

优点

1) 存储过程是预编译过的,执行效率高。

2) 存储过程的代码直接存放于数据库中,通过存储过程名直接调用,减少网络通讯。

3) 安全性高,执行存储过程需要有一定权限的用户。

4) 存储过程可以重复使用,减少数据库开发人员的工作量。

缺点

1) 调试麻烦,但是用 PL/SQL Developer 调试很方便!弥补这个缺点。

2) 移植问题,数据库端代码当然是与数据库相关的。但是如果是做工程型项目,基本不存在移植问

题。

3) 重新编译问题,因为后端代码是运行前编译的,如果带有引用关系的对象发生改变时,受影响的

存储过程、包将需要重新编译(不过也可以设置成运行时刻自动编译)。

4) 如果在一个程序系统中大量的使用存储过程,到程序交付使用的时候随着用户需求的增加会导致

数据结构的变化,接着就是系统的相关问题了, 后如果用

户想维护该系统可以说是很难很难、而且代价是空前的,维护起来更麻烦。

触发器

什么是触发器?触发器的使用场景有哪些?

触发器是用户定义在关系表上的一类由事件驱动的特殊的存储过程。触发器是指一段代码,当触发某个

事件时,自动执行这些代码。

使用场景

可以通过数据库中的相关表实现级联更改。

实时监控某张表中的某个字段的更改而需要做出相应的处理。

例如可以生成某些业务的编号。

注意不要滥用,否则会造成数据库及应用程序的维护困难。

大家需要牢记以上基础知识点,重点是理解数据类型CHAR和VARCHAR的差异,表存储引擎

InnoDB和MyISAM的区别。MySQL中都有哪些触发器?

Before Insert

After Insert

Before Update

After Update

Before Delete

After Delete

常用SQL语句

SQL语句主要分为哪几类

数据定义语言DDL(Data Ddefinition Language)CREATE,DROP,ALTER 主要为以上操作 即对逻辑

结构等有操作的,其中包括表结构,视图和索引。

数据查询语言DQL(Data Query Language)SELECT

这个较为好理解 即查询操作,以select关键字。各种简单查询,连接查询等 都属于DQL。

数据操纵语言DML(Data Manipulation Language)INSERT,UPDATE,

DELETE

主要为以上操作 即对数据进行操作的,对应上面所说的查询操作 DQL与DML共同构建了多数初级程序

员常用的增删改查操作。而查询是较为特殊的一种 被划分到DQL中。

数据控制功能DCL(Data Control Language)GRANT,REVOKE,

COMMIT,ROLLBACK

主要为以上操作 即对数据库安全性完整性等有操作的,可以简单的理解为权限控制等

超键、候选键、主键、外键分别是什么?

超键:在关系中能唯一标识元组的属性集称为关系模式的超键。一个属性可以为作为一个超键,多个属

性组合在一起也可以作为一个超键。超键包含候选键和主键。

主键:数据库表中对储存数据对象予以唯一和完整标识的数据列或属性的组合。

一个数据列只能有一个主键,且主键的取值不能缺失,即不能为空值(Null)。

SQL约束有哪几种?

SQL 约束有哪几种?

NOT NULL: 用于控制字段的内容一定不能为空(NULL)。

UNIQUE: 控件字段内容不能重复,一个表允许有多个 Unique 约束。

PRIMARY KEY: 也是用于控件字段内容不能重复,但它在一个表只允许出现一个。

FOREIGN KEY: 用于预防破坏表之间连接的动作,也能防止非法数据插入外键列,因为它必须是它指向

的那个表中的值之一。

候选键:是 小超键,即没有冗余元素的超键。

外键:在一个表中存在的另一个表的主键称此表的外键。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有